The computer system 100 illustrates in FIG. 1 represents a typical hardware setup for executing software that allows a user to perform tasks such as communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic content—that is, any combination of text, images, movies, music or other sounds, animations, 3D virtual worlds, and links to other objects. The system includes various input/output (I/O) devices (mouse 103, keyboard 105, display 107) and a general purpose computer 100 having a central processor unit (CPU) 121, an I/O unit 117 and a memory 109 that stores data and various programs such as an operating system 111, and one or more application programs 113. The computer system 100 also typically includes some sort of communications card or device 123 (e.g., a modem or network adapter) for exchanging data with a network 127 via a communications link 125 (e.g., a telephone line).
As shown in FIG. 2, a user of a computer system can access electronic content or other resources either stored locally at the user's own client system 202 (for example, a personal or laptop computer) or remotely at one or more server systems 200. An example of a server system is a host computer that provides subscribers with online computer services such as e-mail, e-commerce, instant messaging, chat rooms, Internet access, online games, electronic newspapers and magazines, etc. Users of a host computer's online services typically communicate with one or more central server systems 200 through client software executing on their respective client systems 202.
In practice, a server system 200 typically will not be a single monolithic entity but rather will be a network of interconnected server computers, possibly physically dispersed from each other, each dedicated to its own set of duties and/or to a particular geographical region. In such a case, the individual servers are interconnected by a network of communication links, in a known fashion. One such server system is “America Online 4.0” from America Online, Incorporated of Virginia.
One increasingly popular computer network-based activity is referred to as “instant messaging.” An instant message is a form of electronic communication between users of a computer network in which a window pops-up on the recipient's computer screen “instantly” and without the recipient having to access an e-mail program or otherwise check for messages. An instant message appears essentially as soon as the message sender clicks the send button subject to any time or propagation delays the message may have encountered on the network. In comparison to most e-mail applications, instant messaging enables users to communicate with each other in a more dynamic, urgent and interactive manner.
FIG. 3 is a screen shot of an Instant Message (IM) window 130 as used in AOL's Instant Messenger (“AIM”) system. As shown therein, the window 130 includes a text display area 131 and text entry area 132. Both users involved in the IM under consideration (i.e., sender and recipient) would have a similar window displayed on his or her computer monitor. When one user (PhillipsJC) types a comment 134 in text entry area 132 and clicks the Send button 133 (or, depending on the configuration, presses the “ENTER” key on the keyboard), the entered text (e.g., “Hey, did you see the game last night?”) is displayed in the text display area 131 of the window 130 such that it is visible to both users After FRsnafu enters a comment 135 in response and clicks the Send button 133, that comment 135 appears in the text display area 131 underneath the previous comment 134. This exchange of comments continues indefinitely until the users decide to terminate the exchange.
Typically, instant messages can be sent to another user only when that user is presently signed on to the computer service. Users who are signed off are unavailable to receive instant messages. Accordingly, another popular innovation introduced by America Online is the “Buddy List,” which allows users to monitor when other specified users (“buddies”) are signed onto and/or off of the computer service under consideration (e.g., AOL Instant Messenger).
As shown in FIG. 4, the Buddy List is implemented as a window 140 that lists specified users, or buddies, who are signed on to the AIM system. In the example shown, the Buddy List for user “PhillipsJC” indicates that four of PhillipsJC's buddies 141–144 currently are signed on to the system and thus available to receive instant messages. The Buddy List is updated based on information received from a server to add or delete names of buddies as they sign on and off, respectively. Such Buddy List updates can be accompanied by various audible and visual indications to help notify the user that a buddy has signed on or off.
Users may send instant messages to, and exchange comments with, more than one other user at a time. Conventional instant message client software typically creates a separate instant message window for each user that is sent an instant message. For example, as shown in FIG. 5, if a user sends three instant messages to three other users, one to each of the users, three separate instant message windows 130a, 130b, and 130c are created. To change from one instant message window to another, the user typically must move and/or press a button on the mouse, or press a sequence of keys on the keyboard, to activate the desired instant message window.
The present inventors recognized that some users may find it undesirable to have to switch between instant message windows in order to send instant messages to and exchange comments with more than one other user at a time. Therefore, the present inventors recognized that it would be desirable to provide users with a user interface through which a user can send messages to and exchange comments with one or more users without having to switch among several different windows.